package com.qt.pojo.entity.contest;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.qt.pojo.base.BaseDO;
import lombok.*;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * @author pgw
 * @version 1.0
 * @description
 * @date Create by 2023/9/20 20:53
 */

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@TableName("contest")
public class Contest extends BaseDO {

    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 创建者id
     */
    private String userId;

    /**
     * 创建者用户名
     */
    private String author;

    /**
     * 比赛标题
     */
    private String title;

    /**
     * 0为acm赛制，1为比分赛制
     */
    private Integer type;

    /**
     * 比赛说明
     */
    private String description;

    /**
     * 0为公开赛，1为私有赛(访问有密码)
     */
    private Integer auth;

    /**
     * 比赛密码
     */
    private String password;

    /**
     * 开始时间
     */
    private Date startTime;

    /**
     * 结束时间
     */
    private Date endTime;

    /**
     * 是否允许比赛结束后进行提交
     */
    private Integer allowEndSubmit;


    private Integer deleted;

    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date gmtCreate;


    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date gmtModified;
}
